package com.itheima.sh.a_test_01;

import java.util.Arrays;
import java.util.Random;

/*
 需求 : 定义长度为10的数组, 采用随机数给数组赋值 , 随机数的范围是 [1-100]
            求出数组中第二大和第二小的元素 !!!
            注意 : 数组中的元素是采用随机数赋值 , 是有可能出现重复的数据
 */
public class Test02 {
    public static void main(String[] args) {
        //1.定义长度为10的数组
        int[] arr = new int[10];
        //2.创建随机数类对象
        Random r = new Random();
        //遍历数组，赋值
        for (int i = 0; i < arr.length; i++) {
            arr[i] = r.nextInt(100) + 1;
        }
        //假设最大值和最小值
        int max = arr[0];
        int min = arr[0];
        //遍历数组，求出最大值和最小值
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        //定义第二大值和第二小值
        int secondMax = min;
        int secondMin = max;
        //遍历数组，求出最大值和最小值
        for (int i = 0; i < arr.length; i++) {
            //如果获取的元素比第二大值大并且小于最大值
            if (arr[i] > secondMax && arr[i]  < max) {
                //则第二大值就是该元素
                secondMax = arr[i];
            }
            //如果获取的元素
            if (arr[i] <secondMin && arr[i] >min) {
                secondMin = arr[i];
            }
        }
        System.out.println("第二大值是："+secondMax);
        System.out.println("第二小值是："+secondMin);
        System.out.println(Arrays.toString(arr));
    }
}
